<?php

/**
 * 发送邮件
 * @param  string $_AddrArr 需要发送的邮箱地址 发送给多个地址需要写成数组形式
 * @param  string $_Tit 标题
 * @param  string $_Content 内容
 * @return boolean       是否成功
 */
 
function _PlugMail_Send($_AddrArr,$_Tit,$_Content){
	$_Conf = config('Plug_Mail');
    if(empty($_Conf['smtp']) || empty($_Conf['username']) || empty($_Conf['password']) || empty($_Conf['from_name'])){
        return array("error"=>1,"message"=>'邮箱配置不完整');
    }
	$_PHPMailer = new \PHPMailer\PHPMailer();
	$_PHPMailer->SMTPDebug = 0; //用于debug PHPMailer信息
	// 设置PHPMailer使用SMTP服务器发送Email
	$_PHPMailer->IsSMTP();
	// 设置设置smtp_secure
	$_PHPMailer->SMTPSecure=$_Conf['smtp_secure'];
	// 设置port
	$_PHPMailer->Port=$_Conf['port'];
	// 设置为html格式
	$_PHPMailer->IsHTML(true);
	// 设置邮件的字符编码'
	$_PHPMailer->CharSet='UTF-8';
	// 设置SMTP服务器。
	$_PHPMailer->Host=$_Conf['smtp'];
	// 设置为"需要验证"
	$_PHPMailer->SMTPAuth=true;
	// 设置用户名
	$_PHPMailer->Username=$_Conf['username'];
	// 设置密码
	$_PHPMailer->Password=$_Conf['password'];
	// 设置邮件头的From字段。
	$_PHPMailer->From=$_Conf['username'];
	// 设置发件人名字
	$_PHPMailer->FromName=$_Conf['username'];
	// 添加收件人地址，可以多次使用来添加多个收件人
	$_PHPMailer->AddAddress($_AddrArr);
	// 设置邮件标题
	$_PHPMailer->Subject=$_Tit;
	// 设置邮件正文
	$_PHPMailer->Body=$_Content;
	$_PHPMailer->SMTPOptions = array(
		'ssl' => array(
			'verify_peer' => false,
			'verify_peer_name' => false,
			'allow_self_signed' => true
		)
	);
	// 发送邮件。
	if(!$_PHPMailer->Send()) {
		$_PHPMailererror=$_PHPMailer->ErrorInfo;
		return array("error"=>1,"message"=>$_PHPMailererror);
	}else{
		return array("error"=>0);
	}
}

/**
 * 发送邮件 指定用户账户
 * @param  string $_User 发送用户信息
 * @param  string $_Email 邮件内容
 * @return boolean       是否成功
 */
 
function _PlugMail_Send_User($_User=[],$_Email=[]){
    if(empty($_User['smtp']) || empty($_User['username']) || empty($_User['password']) || empty($_User['from_name']) || empty($_User['port'])){
        return array("error"=>1,"message"=>'邮箱配置不完整');
    }
    if(empty($_Email['addr']) || empty($_Email['tit']) || empty($_Email['content'])){
        return array("error"=>1,"message"=>'邮件内容不完整');
    }
	$_User['smtp_secure'] = empty($_User['smtp_secure'])?$_User['smtp_secure']:'ssl';
	$_PHPMailer = new \PHPMailer\PHPMailer();
    // 设置PHPMailer使用SMTP服务器发送Email
    $_PHPMailer->IsSMTP();
    // 设置设置smtp_secure
    $_PHPMailer->SMTPSecure=$_User['smtp_secure'];
    // 设置port
    $_PHPMailer->Port=$_User['port'];
    // 设置为html格式
    $_PHPMailer->IsHTML(true);
    // 设置邮件的字符编码'
    $_PHPMailer->CharSet='UTF-8';
    // 设置SMTP服务器。
    $_PHPMailer->Host=$_User['smtp'];
    // 设置为"需要验证"
    $_PHPMailer->SMTPAuth=true;
    // 设置用户名
    $_PHPMailer->Username=$_User['username'];
    // 设置密码
    $_PHPMailer->Password=$_User['password'];
    // 设置邮件头的From字段。
    $_PHPMailer->From=$_User['username'];
    // 设置发件人名字
    $_PHPMailer->FromName=$_User['from_name'];
    // 添加收件人地址
    $_PHPMailer->AddAddress($_Email['addr']);
    // 设置邮件标题
    $_PHPMailer->Subject=$_Email['tit'];
    // 设置邮件正文
    $_PHPMailer->Body=$_Email['content'];
    // 发送邮件。
    if(!$_PHPMailer->Send()) {
        $_Error=$_PHPMailer->ErrorInfo;
        return array("error"=>1,"message"=>$_Error);
    }else{
        return array("error"=>0);
    }
}


/**
 * Todo:接受邮件
 */
 